#ifndef __INCLUDED_TEST_PROP_MATRIX_H_
#define __INCLUDED_TEST_PROP_MATRIX_H_

#include "PropMatrix.h"
#include "simple_prop_receiver.h"

void test_prop_matrix_main()
{
	CPropList pl;
	pl.AddItem(UUTL("faint"), UUTL("int"), UUTL("100;200;400"));
	pl.AddItem(UUTL("faint1"), UUTL("int"), UUTL("3;5;8"));
	pl.AddItem(UUTL("faint2"), UUTL("bool"), UUTL("100;200;400;2"));
	pl.AddItem(UUTL("faint3"), UUTL("bool"), UUTL("100;200;400;2"));
	pl.AddItem(UUTL("faint4"), UUTL("string"), UUTL("100;200;400;2"));
	pl.AddItem(UUTL("faint5"), UUTL("int"), UUTL("100;200;400;800;1600;3200"));
	pl.AddItem(UUTL("faint6"), UUTL("int"), UUTL("13;26;52;104;208;416;832;1664"));

	CPropReceiver pr;

	CPropList::EmitOpResult result = CPropList::EmitResult_OK;
	int totalCount = 0;
	while(CPropList::EmitResult_OK == result)
	{
		++totalCount;
		result = pl.EmitProps(&pr);
	}
	--totalCount; //3*3*2*2*2*6*8 = 72*48 = 3456

	UUTTCOut << UUTL(" total count is: ") << totalCount <<endl;
}

#endif //__INCLUDED_TEST_PROP_MATRIX_H_